The virtualization technology is a decoupling method for separating lower layer hardware devices from an upper layer operating system (OS) and applications. As one of important technologies supporting a lower layer of the currently popular cloud computing platform, the virtualization technology may significantly improve the resource utilization efficiency of a physical device. Compared with a conventional physical machine, a virtual machine (VM) has better isolation and encapsulation, and may save information of the whole VM into a virtual disk image (VDI) file, so as to facilitate snapshots and backups of the VM. A virtual disk (VD) is a virtual storage device provided by a virtual machine monitor (VMM) for the VM to use. A physical storage space that corresponds to the VD may be a local storage system of a host, and may also be a network storage system in a data center. When a physical storage space connected to the host is insufficient or a storage device is added to or deleted from a storage system, the VD needs to be rearranged and reallocated, that is, virtual storage migration is performed, so as to perform load balancing on the storage resource in the data center. Virtual storage migration may include an offline migration method and an online migration method, in which the virtual storage online migration method may be used without interrupting a front-end application of the VM.
In the prior art, the virtual storage online migration method mainly includes a memory online migration pre-copy method and a storage online migration post-copy method. In the first method, a read-only parent disk and a child disk for recording changed data are generated by establishing VD snapshots. After the data of the parent disk has been copied, the VM needs to be suspended, and the child disk for recording the changed data and the parent disk in a destination storage device are combined. In the second method, by combining the pre-copy and cyclic iteration copy, all storage data is first sent to a destination host, storage update blocks are recorded and labeled in said sending process, and the storage update blocks are cyclically sent to the destination host. The cyclic sending step is repeated till a preset condition is met, and the VM is then suspended, and the rest storage update blocks are copied and synchronized.
However, in the first method in the prior art, the VM needs to be suspended during combination of the child disk for recording the changed data and the parent disk in the destination storage device. When a combined data volume is large or a network state is poor, the suspension of the VM may result in service interruption or even an error. Although the second method in the prior art may reduce suspension time of the VM to a certain extent, when too many write requests of the VM exist in the migration process, more data copy and cyclic iterations are triggered. When access of the read request of the VM is missing, it is needed to wait corresponding data to be copied from a source storage device to the destination storage device, as a result, a large delay of read response is caused, and storage migration time is prolonged, and therefore normal input/output (I/O) access performance of the VM is affected.